package com.guoxue.domain;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.Serializable;
import java.sql.Blob;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import org.hibernate.annotations.GenericGenerator;

/**
 * 由工具生成的java类,手工修改无效!
 * 
 * 
 */
@Entity
@Table(name = "planConfigVo")
public class PlanConfigVo implements Cloneable, Serializable {
	// /////////////////////////////////////////////////////////////////////////////
	// --->字段定义:
	// /////////////////////////////////////////////////////////////////////////////
	/**
	 * 计划id
	 */
	@Id
	private int planId;
	/**
	 * 计划阶段
	 */
	private String planName="";
	/**
	 * 计划标题
	 */
	private String planTitle="";
	/**
	 * 计划模式
	 */
	private String planType="";
	/**
	 * 读的编数
	 */
	private int count;
	/**
	 * 起始计划章节
	 */
	private int planChapterdx;
	/**
	 * 计划结束章节
	 */
	private int planChapterdy;
	/**
	 * 首次获得奖牌数
	 */
	private int firstMedal;
	/**
	 * 首次获得经验
	 */
	private int firstExp;
	/**
	 * 正常奖励奖牌数
	 */
	private int medal;
	/**
	 * 正常奖励经验
	 */
	private int exp;
	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	private int sysflag = 0;

	// /////////////////////////////////////////////////////////////////////////////
	// --->getter and setter:
	// /////////////////////////////////////////////////////////////////////////////
	public int getPlanId() {
		return planId;
	}

	public void setPlanId(int planId) {
		this.planId = planId;
	}

	public String getPlanName() {
		return planName;
	}

	public void setPlanName(String planName) {
		this.planName = planName;
	}

	public String getPlanTitle() {
		return planTitle;
	}

	public void setPlanTitle(String planTitle) {
		this.planTitle = planTitle;
	}

	public String getPlanType() {
		return planType;
	}

	public void setPlanType(String planType) {
		this.planType = planType;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public int getPlanChapterdx() {
		return planChapterdx;
	}

	public void setPlanChapterdx(int planChapterdx) {
		this.planChapterdx = planChapterdx;
	}

	public int getPlanChapterdy() {
		return planChapterdy;
	}

	public void setPlanChapterdy(int planChapterdy) {
		this.planChapterdy = planChapterdy;
	}

	public int getFirstMedal() {
		return firstMedal;
	}

	public void setFirstMedal(int firstMedal) {
		this.firstMedal = firstMedal;
	}

	public int getFirstExp() {
		return firstExp;
	}

	public void setFirstExp(int firstExp) {
		this.firstExp = firstExp;
	}

	public int getMedal() {
		return medal;
	}

	public void setMedal(int medal) {
		this.medal = medal;
	}

	public int getExp() {
		return exp;
	}

	public void setExp(int exp) {
		this.exp = exp;
	}

	public int getSysflag() {
		return sysflag;
	}

	public void setSysflag(int sysflag) {
		this.sysflag = sysflag;
	}
	// /////////////////////////////////////////////////////////////////////////////
	// --->流读写方法和打印方法:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public String toString() {
		final StringBuilder sb = new StringBuilder();
		final String info;
		sb.append(",count=" + this.count);
		sb.append(",planChapterdx=" + this.planChapterdx);
		sb.append(",planChapterdy=" + this.planChapterdy);
		sb.append(",exp=" + this.exp);
		sb.append(",firstExp=" + this.firstExp);
		sb.append(",firstMedal=" + this.firstMedal);
		sb.append(",medal=" + this.medal);
		sb.append(",planId=" + this.planId);
		sb.append(",planName=" + this.planName);
		sb.append(",planTitle=" + this.planTitle);
		sb.append(",planType=" + this.planType);
		sb.append(",sysflag=" + this.sysflag);

		info = sb.toString();
		return info;
	}

	// /////////////////////////////////////////////////////////////////////////////
	// --->clone and copy:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public Object clone() throws CloneNotSupportedException {
		return (PlanConfigVo) super.clone();
	}

	/**
	 * 令当前对象(this)成为指定对象(src)的拷贝
	 * 对简单数据类型的数组,进行深层复制
	 * 对dataMap数据,进行dataMap的整体复制
	 * @param src
	 */
	public void copyOf(PlanConfigVo src){
		this.planChapterdy = src.planChapterdy;
		this.count = src.count;
		this.planChapterdx = src.planChapterdx;
		this.exp = src.exp;
		this.firstExp = src.firstExp;
		this.firstMedal = src.firstMedal;
		this.medal = src.medal;
		this.planId = src.planId;
		this.planName = src.planName;
		this.planTitle = src.planTitle;
		this.planType = src.planType;
		this.sysflag = src.sysflag;
	}

}
